﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HashTable练习
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Hashtable ht = new Hashtable();
            //向集合中添加元素，但添加的 key 不允许重复，不允许为NULL
            ht.Add("name", "zs");
            ht.Add("age", 18);
            ht.Add("addr", "长沙");
            foreach (var i in ht.Keys)
            {
                Console.WriteLine($"{i}:{ht[i]}");
            }

            //集合名[键]
            //根据键获取值
            Console.WriteLine(ht["name"]);

            //集合名[键] = 值
            //修改指定键对应的值
            ht["name"] = "ls";

            foreach (var i in ht.Keys)
            {
                Console.WriteLine($"{i}:{ht[i]}");
            }

            //void Remove(object key)
            //根据指定的 key 值移除对应的集合元素
            ht.Remove("name");
            foreach (var i in ht.Keys)
            {
                Console.WriteLine($"{i}:{ht[i]}");
            }

            //void Clear()
            //清空集合
            ht.Clear();

            ht.Add("name", "zs");
            ht.Add("age", 18);
            ht.Add("addr", "长沙");
            //ContainsKey (object key)
            //判断集合中是否包含指定 Key 值的元素
            Console.WriteLine(ht.ContainsKey("name"));

            //ContainsValue(object value)
            //判断集合中是否包含指定 value 值的元素
            Console.WriteLine(ht.ContainsValue("zs"));
        }
    }
}
